﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using FluentNHibernate.Mapping;
using TCEasyPrintRev.Controllers;
using TCEasyPrintRev.WCF_member;
using TCEasyPrintRev.WCF_File;


namespace TCEasyPrintRev.Models
{
    public class Cetak
    {
        public virtual String ID { set; get; }
        public virtual Paket paket { set; get; }
        public virtual File file { set; get; }
        public virtual int copy { set; get; }
        public virtual Boolean isvalid { set; get; }
        public virtual Boolean isDone { set; get; }
        public virtual double panjangFix { set; get; }
        public virtual double lebarFix { set; get; }

        public Cetak(CetakS x)
        {
            this.ID = x.ID;
            this.paket = null;
            this.file = null;
            this.isDone=x.isDone;
            this.isvalid=x.isvalid;
            this.copy = x.copy;
            this.panjangFix = x.panjang;
            this.lebarFix = x.lebar;
        }

        public Cetak()
        {
        }
        


    }

   
    public class Detail
    {
        public virtual String ID { get; set; }
        public virtual Transaksi transaksi { get; set; }
        public virtual Cetak cetak { get; set; }
    }

   
   

    public class File
    {
        public virtual String ID { get; set; }
        public virtual string Tanggal { get; set; }
        public virtual string path { get; set; }
        public virtual Double size { get; set; }
        public virtual String jenis { get; set; }

        public File(FileS file)
        {
            this.ID = file.ID;
            this.Tanggal = file.Tanggal;
            this.path = file.path;
            this.size = file.size;
            this.jenis = file.jenis;

        }
        public File()
        {
        }
    }

    

    public class Bahan
    {
        public virtual String ID { get; set; }
        public virtual String Nama { get; set; }
        public virtual Double Harga { get; set; }
    }

    

    public class Member
    {
        public virtual String ID { set; get; }
        public virtual String Nama { get; set; }
        public virtual String Alamat { get; set; }
        public virtual String noHP { get; set; }
        public virtual String noTelpon { get; set; }
        public virtual String email { get; set; }
        public virtual String password { get; set; }

        public Member(MemberS x)
        {
            this.ID = x.ID;
            this.Nama = x.Nama;
            this.noHP = x.noHP;
            this.noTelpon = x.noTelpon;
            this.password = x.password;
            this.email = x.email;
            this.Alamat = x.Alamat;
        }

        public Member()
        {
        }
    }

    

    public class Petugas
    {
        public virtual String ID { set; get; }
        public virtual String Nama { get; set; }
        public virtual String noHP { get; set; }
        public virtual String email { get; set; }
        public virtual String password { get; set; }

    }

    

    public class Produk
    {
        public virtual String ID { get; set; }
        public virtual String Nama { get; set; }
        public virtual Double Harga { get; set; }
        public virtual bool fixedSize { set; get; }
    }

   
   

    public class Transaksi
    {
        public virtual String ID { set; get; }
        public virtual Member member { get; set; }
        public virtual Petugas petugas { get; set; }
        public virtual Pengiriman kirim { get; set; }
        public virtual Double totalHarga { get; set; }
        public virtual DateTime Tanggal { get; set; }
    }

    
    public class Warna
    {
        public virtual String ID { get; set; }
        public virtual String Nama { get; set; }
        public virtual Double Harga { get; set; }
    }

    

    public class Paket
    {
        public virtual String ID { set; get; }
        public virtual Warna warna { get; set; }
        public virtual Produk produk { get; set; }
        public virtual Bahan bahan { get; set; }
        public virtual Double panjang { get; set; }
        public virtual Double lebar { get; set; }
        public virtual String nama { get; set; }

        public Paket(PaketS x)
        {
            this.ID = x.ID;
            this.warna = x.warna;
            this.produk = x.produk;
            this.bahan = x.bahan;
            this.panjang = x.panjang;
            this.lebar = x.lebar;
            this.nama = x.nama;
        }

        public Paket()
        {
        }
    }

    
   

    public class Pengiriman
    {
        public virtual String ID { set; get; }
        public virtual Petugas petugasKirim { set; get; }
        public virtual DateTime deadline{ get; set; }
        public virtual DateTime waktuKirim { get; set; }
        public virtual Lokasi lokasi { get; set; }
        


    }

    public class Lokasi
    {
        public virtual String ID { set; get; }
        public virtual String tempat { get; set; }
        public virtual Double harga { get; set; }



    }

    
}
